package com.ztgf.pay.models.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ztgf.common.annotations.CustomerBigDecimalSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author ：Eric
 * @description：TODO
 * @date ：2021/9/22 9:44
 */
@Data
@TableName("pay_fund_details")
@ApiModel(value="资金明细表", description="资金明细")
public class PayFundDetailsDTO implements Serializable {
    @ApiModelProperty(value = "资金明细id")
    private Long id;
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "用户名称")
    private String userName;
    @ApiModelProperty(value = "资金账号")
    private String userNo;
    @ApiModelProperty(value = "记账日期 YYYYMMDD")
    private String accountingDate;
    @ApiModelProperty(value = "记账时间 HH24MISS")
    private String accountingTime;
    @ApiModelProperty(value = "明细编号 默认按照此字段正序排序")
    private String dataNo;
    @ApiModelProperty(value = "类型(C:增加、T:减少)")
    private String type;
    @ApiModelProperty(value = "对方-账号")
    private String otherUserNo;
    @ApiModelProperty(value = "对方-户名")
    private String otherUserName;
    @ApiModelProperty(value = "发生额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal moeny;
    @ApiModelProperty(value = "手续费")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal feeMoney;
    @ApiModelProperty(value = "资金变动后的可用资金余额")
    @JsonSerialize(using = CustomerBigDecimalSerialize.class)
    private BigDecimal useMoney;
    @ApiModelProperty(value = "业务类型 INMNY 入金; OTMNY 出金; FRZE 冻结; UNFRZE 解冻; PAYMNY 付款; RCVMNY 收款")
    private String businessType;
    @ApiModelProperty(value = "业务描述")
    private String businessNotes;
    @ApiModelProperty(value = "原交易-类型 TNSTRD 出入金业务 PAYTRD 支付业务 FRETRD 冻结解冻业务 SHFKTRD 收款业务")
    private String originalBusinessType;
    @ApiModelProperty(value = "原交易-合作方交易流水号")
    private String originalBusinessId;
    @ApiModelProperty(value = "原交易-平台交易流水号")
    private String originalZjBusinessId;
    @ApiModelProperty(value = "资金用途(附言)")
    private String moneyUsage;

    @ApiModelProperty(value = "状态：1 成功 2 失败 3 处理中")
    private String zjStatus;
}
